Snapshot Types topic
A snapshot type is a value object the SDK hands you to inspect or edit configuration that lives on a parent. Modifying the snapshot is local — it does not propagate back to the parent automatically. To persist your changes you must assign the modified instance back to the parent (or to the service method that owns it).
Contrast this with live objects (for example, Landmark), where setters take effect immediately on the underlying entity.
Working with snapshot types
The typical flow is get → modify → set:
// 1. Get a snapshot from the parent.
final ExtraInfo info = landmark.extraInfo;
// 2. Modify it locally — the landmark is NOT yet updated.
info.add('myKey', 'myValue');
// 3. Reassign the modified snapshot to persist the change.
landmark.extraInfo = info;
The same pattern applies to routing profiles, sound preferences, and contact info: read, mutate, write back.
Why the SDK uses snapshots
Snapshot types are returned by value from native code. Each getter call materializes a fresh copy, so two reads return two independent objects — changes on one have no effect on the other or on the parent. Setting the snapshot back is what triggers the cross-boundary update.
When to reassign
Reassign immediately after the mutations you intend to persist. Holding a snapshot for a long time and reassigning later risks overwriting changes made through other code paths in the meantime, because the snapshot reflects the parent's state at the moment it was read.
Classes
- BikeProfileElectricBikeProfile Snapshot Types Routing
- Bike and electric bike routing profile.
- CarProfile Snapshot Types Routing
- Car routing profile.
- ContactInfo Snapshot Types Landmarks
- Stores contact information associated with a Landmark.
- ElectricBikeProfile Snapshot Types Routing
- Electric bike profile containing e-bike configuration and rider/vehicle parameters.
- ExtraInfo Snapshot Types Landmarks
- Flexible key/value storage used for landmark auxiliary metadata.
- SoundPlayingPreferences Snapshot Types Sound
- Preferences controlling how the SDK plays sounds and TTS.
- SoundSessionRequestPreferences Snapshot Types Sound
- Preferences used when requesting an audio session from the platform.
- TruckProfile Snapshot Types Routing
- Truck routing profile.